
using System;

namespace LastFMGenNHibernate.EN.LastFM
{
        public class GrupoEN                    :                           LastFMGenNHibernate.EN.LastFM.ArtistaEN


        {
        /**
         *
         */

        private String nombreGrupo;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ArtistaEN> artista;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.AlbumEN> album;





        public virtual String NombreGrupo { get { return nombreGrupo; } set { nombreGrupo = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ArtistaEN> Artista { get { return artista; } set { artista = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.AlbumEN> Album { get { return album; } set { album = value;  } }



        public GrupoEN()
        {
        }



        public GrupoEN(int id, String nombreGrupo, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ArtistaEN> artista, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.AlbumEN> album, String etiqueta, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancion, LastFM.GrupoEN grupo, String nombre, int valor)
        {
                this.init (id, nombreGrupo, artista, album, etiqueta, cancion, grupo, nombre, valor);
        }


        public GrupoEN(GrupoEN grupo)
        {
                this.init (grupo.Id, grupo.NombreGrupo, grupo.Artista, grupo.Album, grupo.Etiqueta, grupo.Cancion, grupo.Grupo, grupo.Nombre, grupo.Valor);
        }

        private void init (int id, String nombreGrupo, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ArtistaEN> artista, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.AlbumEN> album, String etiqueta, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancion, LastFM.GrupoEN grupo, String nombre, int valor)
        {
                this.Id = id;


                this.NombreGrupo = nombreGrupo;

                this.Artista = artista;

                this.Album = album;

                this.Etiqueta = etiqueta;

                this.Cancion = cancion;

                this.Grupo = grupo;

                this.Nombre = nombre;

                this.Valor = valor;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                GrupoEN t = obj as GrupoEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
